/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.ieslaferreria.creditsintesis.logicgame;


import com.jme.math.Vector3f;
import edu.ieslaferreria.creditsintesis.logicgame.actions.ConfigurationMapEvent;
import java.util.Iterator;
import java.util.Queue;

/**
 *
 * @author Ruben y Carlos
 */
public interface ActionStates {

/**   
 * Interficie
 * 
 */
// return objecst NextToDo
   Queue<ObjectWithStates> getObjectsToValidateState();
// return objects to Change
//   Queue<ObjectWithStates> getObjectsToChange();
// return Validated objects
//   Queue<ObjectWithStates> getObjectsValidated();
// return
   Iterator<ObjectWithStates>  getObjectsNearMe(ObjectWithStates objw);
// return objecst NextToDo
  // public Queue<MobilObject> getObjectsToValidatePosition();

    public void addObject(ObjectWithStates object);

    public void addObjectPos(ObjectWithStates object);

    public void positionObjectWithStatesChanged(ObjectWithStates ob
                                            , Vector3f oldPossition
                                            , Vector3f newPosition);

    public Iterator<ObjectWithStates> getAllObjects();

    public ConfigurationMapEvent getEventMap();

    /**
     * @param eventMap the eventMap to set
     */
    public void setEventMap(ConfigurationMapEvent eventMap);

   }




